# rxBackport - Continuation of the 2.6 rxTools branch

**WARNING/ACHTUNG/ATTENTION/whatevertheysayinyourlanguage**

rxTools, is wildly heralded as being a dead and old CFW by the community in late 2016/early 2017, and recent updates by Nintendo have deprecated this software.

I might come back and revive this someday, to work within the confines of boot9strap/sighax/whatever if I have the time, but my efforts are now focused on a new project based on everyone's favourite CFW, Luma.

Some of you noobs might wanna fork this if you really want rxTools back, but due to this being GPL2 code only (but not like anyone will care if I update the licence lol) and \*9 tools by d0k3 replacing most functions here and doing them better it's probably better just to move on.

## Original Readme
Hello and welcome to this repository of rxTools 2.6c (with CakeHax, which was forked into an entirely different repo due to git complications), originally ported by [ApacheThunder](https://github.com/ApacheThunder/rxTools/releases/tag/2.6b), which the current maintainer (WilliamO7) is now working on to backport a **selective** amount of features (i.e no New3DS support) from the actively developed (and currently unstable) 3.0 branch, and maybe some of my ideas, into the 2.6 code.

Currently added features are:
- Ability to change the top and bottom splash screens to whatever you like (within boundaries)
- Devmode (just sig checks patched) - not available in regular 2.6 - and allows you to use sysupdater safely!
- ~~AGB_FIRM SVC Patch (that classic GBA bootscreen)~~ sike!!! (Removed for now)
- An updated version of CakeHax (6.x O3DS/2DS MSET is enabled, as well as N3DS MSET, but don't even think about it)

To do:
- Language support
- A filpping settings menu (as sometimes the svc patch boot doesn't work for some reason, and then therefore I can add it back.)
- Compatibility with the 3.0 configuration
- Fix up some of the 'Tools' in rxTools using decrypt9 stuff as an example
- (Once I know more good C techniques) clean up the code and comment the flipping wazoo out of it.

To be clear, I am **not** trying to imitate the official release (especially since I have not, and will not, try to actively remove all ties from all people involved in the project either directly or indirectly - look at the licences section below), but seeing if I can tweak it to a state I can be satisfied with (i.e. its more of a learning experience for me, as well as something I can give to a few n00bs :p)

Honestly, so you know I'm not lying - [there.](https://github.com/roxas75/rxTools) I just linked to the PastaTeam's official repo. If you want to learn more about rxTools, go there, as well as the official [gbatemp thread](https://gbatemp.net/threads/release-rxtools-roxas75-3ds-toolkit-fw-2-0-9-2.382782/). I will say it's best to support them and Roxas' work.


## How to build

Pretty much the same things you need for official rxTools (so look at their readme first, it's linked above!), including armips.

(Armips now builds properly on linux lol)

Once you've gotten everything, recursively clone this repo (otherwise rxTools will refuse to build) and just run **make release**. rxTools.dat should be generated in the **release** folder, along with all the other packages such as mset + ninjhax :).

If you get the *make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)* error on Windows, look at your PATH and move any path with parentheses to the end of it.

Make sure that the path to rxTools doesn't include spaces!!! (' ').

## Credits
- All the documentation on http://3dbrew.org, and to all the devs who contributed
- Roxas75, as the sole original developer of rxTools
- Gateway team, for their work 
- [Archshift](https://github.com/archshift), who wrote some useful libs used here (mostly Decrypt9 functions.) 
- Many GbaTemp users, who helped in the testing process
- patois, who developed BRAHMA : https://github.com/patois/Brahma
- mid-kid and b1l1s, who developed CakeHax : https://github.com/mid-kid/CakeHax
- zoogie, who ported the MSET hack rops to CakeHax and rxTools : https://github.com/mid-kid/CakesROP

## Licence

(C) 2015 Roxas75

(C) 2015 WilliamO7

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

### Reasons why this software is under GPLv2 and not BSD2C:

- 1. Look at PolarSSL's licence, lol

- 2. The backport part of this requires me to use some PastaTeam code, which is under GPLv2.

- 3. CakeHax is under MPL, so I would have had to switch to a copyleft licence even if I didn't want to (which I seriously don't.)

## Third party programs/libraries and their licences

Some third party libs and applications were used:

### CakeHax
The Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0.

See CakeHax/LICENSE.txt for details.

### CakesROP
CakesROP is licensed by zoogie, mid-kid, bilis, and Reisyukaku under the BSD 2-clause license.

See CakesROP/LICENSE for details.

### PolarSSL
Copyright (C) 2006-2013, Brainspark B.V.

The program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
version 2 as published by the Free Software Foundation.

The program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

See LICENSE for details.

### FatFs

FatFs module is a free software that opened under license policy of
following conditions.

Copyright (C) 2015, ChaN, all rights reserved.

1. Redistributions of source code must retain the above copyright notice,
this condition and the following disclaimer.

This software is provided by the copyright holder and contributors "AS IS"
and any warranties related to this software are DISCLAIMED.
The copyright owner or contributors be NOT LIABLE for any damages caused
by use of this software.
